from django.db import models

# Create your models here.

class Classes(models.Model):
    #   verbose_name 在后端显示字段
    #  null=True  后端数据库允许为空  blank=True 允许前端传入的数据为空
    #  TextField  文本类型
    name = models.CharField(max_length=20,unique=True,verbose_name="班级名称")
    slogan = models.TextField(null=True,blank=True,verbose_name="班级口号")
    create_time = models.DateTimeField(auto_now_add=True,verbose_name="创建时间")
    update_time = models.DateTimeField(auto_now=True,verbose_name="修改时间")
    #  逻辑层面的删除 is_delete == False  数据没有被删除允许被用户查看   == True 时数据被删除，不被用户所查看
    is_delete = models.BooleanField(default=False,verbose_name="逻辑删除")

    class Meta:
        db_table = 'classes'

    def delete(self):
        #  修改操作
        self.is_delete = True
        self.save()

    def __str__(self):
        return self.name


class Student(models.Model):
    SEX_CHOICES = ((0,'女'),(1,'男'))
    name = models.CharField(max_length=20,unique=True,verbose_name='学生姓名')
    age = models.IntegerField(null=True,blank=True,verbose_name='学生年龄')
    sex = models.IntegerField(null=True,blank=True,verbose_name='学生性别',choices=SEX_CHOICES)
    create_time = models.DateTimeField(auto_now_add=True,verbose_name="创建时间")
    update_time = models.DateTimeField(auto_now=True,verbose_name="修改时间")
    #  逻辑层面的删除 is_delete == False  数据没有被删除允许被用户查看   == True 时数据被删除，不被用户所查看
    is_delete = models.BooleanField(default=False,verbose_name="逻辑删除")

    classes = models.ForeignKey(Classes,null=True,on_delete=models.SET_NULL)


    class Meta:
        db_table = 'student'



    def delete(self):
        #  修改操作
        self.is_delete = True
        self.save()